home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 25 / AACD 25.iso / AACD / Magazine / Online / QMail / utils / minichgrp.c < prev    next >
Encoding:
C/C++ Source or Header  |  1997-09-30  |  589 b   |  39 lines

  1. /* Mini clone of the Unix chgrp command. */
  2.  
  3. #include <sys/types.h>
  4. #include <unistd.h>
  5. #include <grp.h>
  6. #include <stdio.h>
  7.  
  8. void usage (void);
  9.  
  10. int main (int argc, char *argv[])
  11. {
  12.   struct group *grp;
  13.   unsigned long i;
  14.  
  15.   /* Must supply group name and at least one file/drawer name. */
  16.   if (argc <= 2)
  17.   {
  18.     usage ();
  19.     return (5);
  20.   }
  21.  
  22.   if (!((grp = getgrnam (argv[1]))))
  23.   {
  24.     usage ();
  25.     return (5);
  26.   }
  27.  
  28.   for (i = 1; i < argc; i ++)
  29.   {
  30.     chown (argv[i], (uid_t) -1, grp->gr_gid);
  31.   }
  32.   return (0);
  33. }
  34.  
  35. void usage (void)
  36. {
  37.   puts ("Usage: minichgrp groupid file ...");
  38. }
  39.